home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1996 November
/
Chip 11-96.iso
/
treiber
/
drucker
/
lexmark
/
optrae
/
windows
/
optraewi.exe
/
LINMV.ZIP
/
MV.LIN
Wrap
INI File
|
1995-06-30
|
16KB
|
488 lines
[Variables]
;
; >>>
; >>> BEGINNING OF NLS -- Start translating here.
; >>>
; >>> Do not translate the variable name on the left, only translate the
; >>> quoted string.
; >>>
;
$APPNAME = "MarkVision Installation"
$FINALMSG = "Congratulations! MarkVision has been successfully installed."
$Str_MarkVision = "MarkVision Printer Utility"
$Str_MarkVision_Remote = "MarkVision (running from server)"
$Str_MarkVision_Misc = "Printer Utility Support Files"
$Str_Sounds = "Printer Utility Sound Files"
$Str_SpeakerDriver = "PC Speaker Driver"
$Str_DefaultMarkVisionGroup = "MarkVision Printer Utility"
$Str_ItemName_ReadMe = "Optra E Read Me"
$Str_ItemName_Support = "Lexmark Support"
$Str_Prompt_ChooseDir = "We recommend installing MarkVision into its own directory. Please enter a path in the field to the right."
$Str_Prompt_ProgmanTitle = "Create Program Manager Item"
$Str_Prompt_ProgmanMsg = "To create a new Program Manager item for MarkVision, choose a group name and item name below and press the <OK> button."
$Str_Prompt_AutoMarkVision = "Do you want to launch MarkVision each time you start Windows?"
$Str_Prompt_SoundDriver = "Installing sound driver for your PC speaker..."
$Str_Prompt_No386Enh = "Before running the printer utility, you must be in Windows 386 Enhanced mode. The utility will still be installed."
$Str_Disk_Setup = "Windows Setup Diskette"
$Str_Disk_Driver = "Windows Setup Diskette"
$Str_Desc_LexpanelINI = "MarkVision settings file"
; >>>
; >>> END OF NLS -- Stop translating here
; >>>
;
; System variables...
;
$APPDIR = ""
$READMEFILE = "rdme4026.txt"
$SUPPORTFILE = "software.txt"
$INSTALLMETHODS = "E"
$INSTALLMODE = "E"
$INSTALLMACRO = "InstallRemoteMarkVision"
$SIZECOMPONENT = "MarkVision"
$MINTEMPSPACE = "500"
;
; Switches that toggle installation of the different components.
; Network administrators may override these in an extra config file
; to tailor for their own environment.
;
$Install_MarkVision = $YES
$Install_ProgmanGroup = $YES
$Install_StartupGroup = ""
$StartUpGroupName = "StartUp"
$Install_RemoteMV = $NO
;
; INI files
;
$LexpanelINI = $APPDIR
$LexIniCfgSec = "config"
$LexIniDefMdlCls = "5"
;
; Other globals...
;
$RemoteMarkVisionDir = "" ; $SERVERDIR + $DirName_RemoteMV
$UserMVGroup = $Str_DefaultMarkVisionGroup
;
; String constants
;
$Exe_MarkVision = "lexpanel.exe"
$Str_INI_Updated = "updated"
$Str_DefaultMVDir = "\\markvis"
$DirName_RemoteMV = "mv.w16"
;
; This stores the name of MarkVision as entered by the user
;
$UserMVName = $Str_MarkVision
;
; Temporary strings
;
$TempString = ""
$TempAppDir = ""
$TempServerAppDir = ""
[Disks]
MVSetupDisk = $Str_Disk_Setup, setupdsk.bmp, 255, 0, 0
MVDrvDisk = $Str_Disk_Driver, drvdisk.bmp, 255, 0, 0
[Libraries]
MVUtility = linutil.dll
[Banners]
MarkVisionBanner = markvisn.bmp
[Components]
; Normal installation components -- for remotely runnable MarkVision,
; $APPDIR will be $RemoteMarkVisionDir
Sounds = $Str_Sounds, , $APPDIR, MVSetupDisk, 250,
(wavcpef.zip, wavcpf.zip, wavcpjf.zip, wavdff.zip, wavmff.zip,
wavobff.zip, wavpnuif.zip, wavrpsf.zip, wavspf.zip, wavtcof.zip,
wavtyf.zip, wavlpef.zip, wavcdcf.zip, wavrtcf.zip, wavfff.zip)
MarkVision = $Str_MarkVision, MarkVisionBanner, $APPDIR, MVSetupDisk, 2100,
(exepanel.zip, hlppanel.zip, dllsunfl.zip, pss.zip,
=rdme4026.txt, =software.txt, psfsunfl.zip, dlltab11.zip,
dllgenfn.zip, dllqmgmt.zip, Sounds)
SpeakerDrv = $Str_SpeakerDriver, , $SYSTEMDIR, MVSetupDisk, 15, drvspeak.zip
MVIni = $Str_Desc_LexpanelINI, , $TEMPDIR, MVSetupDisk, 1, inipanel.zip
; Server installation components
Sounds_Server = $Str_Sounds, , $SERVERAPPDIR, MVSetupDisk, 150,
(wavcpef.zip, wavcpf.zip, wavcpjf.zip, wavdff.zip, wavmff.zip,
wavobff.zip, wavpnuif.zip, wavrpsf.zip, wavspf.zip, wavtcof.zip,
wavtyf.zip, wavlpef.zip, wavcdcf.zip, wavrtcf.zip, wavfff.zip)
MarkVision_Server = $Str_Markvision, , $SERVERAPPDIR, MVSetupDisk, 371,
(exepanel.zip, hlppanel.zip, dllsunfl.zip, dlltab11.zip,
dllgenfn.zip, dllqmgmt.zip, drvspeak.zip, pss.zip, psfsunfl.zip,
=mv.lin, =markvisn.bmp, =rdme4026.txt, =software.txt,
Sounds_Server, MVIni_Server)
MVIni_Server = $Str_Desc_LexpanelINI, , $SERVERAPPDIR, MVSetupDisk,
1, inipanel.zip
; Components for creating the remote MV server dir
RemoteMV_Misc_Server = $Str_MarkVision_Remote, , $DirName_RemoteMV,
MVDrvDisk, 65, (=mv.lin, =vxd.lin, =help.lin, =util.lin, =linutil.dll,
=shelldde.dll, =markvisn.bmp, =ctl3d.dll, drvspeak.zip)
RemoteMV_Misc_Remote = $Str_MarkVision_Remote, , $APPDIR, MVDrvDisk,
155, (dllbwcc.zip, inipanel.zip)
RemoteMV_Server_Size = "", , , , 1, (RemoteMV_Misc_Server,
RemoteMV_Misc_Remote, MarkVision)
[ServerProducts]
RemoteMV_Misc_Server = "P"
[Macros]
; InstallProgmanGroup: Creates a Program Manager group for MarkVision.
; Return value is empty (we use the return value
; for a temporary string.)
;
InstallProgmanGroup()
(
; Build the full pathname to lexpanel.exe
MakePathName($InstallProgmanGroup, , $APPDIR, $Exe_MarkVision)
; When in Express mode, do not even ask them whether they want to
; create a program manager item...
; $UserMVName holds the name of the MarkVision program, and is
; modified by whatever the user enters.
IfEqual($INSTALLMODE, "E",
CallLibrary(MVUtility, CreateProgmanItem, $UserMVName,
($Str_DefaultMarkVisionGroup, $UserMVName,
$InstallProgmanGroup, $NO)),
CallLibrary(MVUtility, CreateProgmanItem, $UserMVName,
($Str_DefaultMarkVisionGroup, $UserMVName,
$InstallProgmanGroup, $NO, $Str_Prompt_ProgmanTitle,
$Str_Prompt_ProgmanMsg, $HelpID_MVCreateItem,
"$UserMVGroup")))
; Add MarkVision to the StartUp group?
IfEqual($Install_StartupGroup, "",
ChooseYesNo($Install_StartupGroup, $Str_Prompt_AutoMarkVision, $YES,
$HelpID_MVStartUpGroup))
; Use the same name entered by the user above. Or, if they skipped it,
; use the default name...
; grw:950320 - If 'skip'ped, '$UserMVName' is unchanged
;IfEqual($UserMVGroup, "", SetVariable($UserMVName, $Str_MarkVision))
; Create the item in the StartUp group
IfEqual($Install_StartupGroup, $YES,
CallLibrary(MVUtility, CreateProgmanItem, , ($StartUpGroupName,
$UserMVName, $InstallProgmanGroup, $YES)))
; Add textfile 'items' to MV group if there is an MV group,
; or if MV is added to the 'startup' group
IfEqual($UserMVGroup, "", IfEqual($Install_StartupGroup, $YES,
CallMacro(InstallTextIcons, , $Str_DefaultMarkVisionGroup)),
CallMacro(InstallTextIcons, , $UserMVGroup))
)
; CustomDirectory: Called from "Custom Installation" window when user
; presses the <Directories> button.
;
CustomDirectory()
(
; Pick an installation directory
ChoosePath($APPDIR, $Str_Prompt_ChooseDir, $APPDIR,
$HelpID_ChooseMarkVisionDir)
CallMacro(UpdateNetDirectory, , )
)
; InstallMarkVision: Install MarkVision files
; Return value ignored (we use the return value as
; a temporary string.)
;
InstallMarkVision()
(
; Warn the user when they cannot run MarkVision
CallLibrary(MVUtility, In386Enh, $InstallMarkVision, )
IfEqual($InstallMarkVision, "N", ShowPopupMessage($Str_Prompt_No386Enh))
; For remote MarkVision, temporarily set the directories to
; reference our new MarkVision dir
MakePathName($RemoteMarkVisionDir, , $SERVERDIR, $DirName_RemoteMV)
SetVariable($TempAppDir, $APPDIR)
SetVariable($TempServerAppDir, $SERVERAPPDIR)
IfEqual($INSTALLMODE, "S", SetVariable($APPDIR, $RemoteMarkVisionDir))
IfEqual($INSTALLMODE, "S", SetVariable($SERVERAPPDIR, $DirName_RemoteMV))
; For remote MarkVision, we need to install the component that will
; create the product directory and update products.ini. For normal
; installations, we just make sure the directory exists.
IfEqual($INSTALLMODE, "S",
InstallComponent(RemoteMV_Misc_Server, , "S"),
CreatePath($APPDIR))
; For installing remote (runnable) MarkVision to a server, we need
; some files unpacked into the $RemoteMarkVisionDir
IfEqual($INSTALLMODE, "S",
InstallComponent(RemoteMV_Misc_Remote, , "N"))
; Install MarkVision
InstallComponent(MarkVision, , "N")
; Make sure the VXD is installed
IfEqual($INSTALLMODE, "S",
InstallComponent(VXD_Server, , "S"),
CallMacro(InstallVXD, , ))
; Restore $APPDIR and $SERVERAPPDIR
SetVariable($APPDIR, $TempAppDir)
SetVariable($SERVERAPPDIR, $TempServerAppDir)
; We need to put our 'new' lexpanel.ini into $TEMPDIR, if not
; installing to server.
IfEqual($INSTALLMODE, "S", NOP(),
InstallComponent(MVIni))
; Finish up...
IfEqual($INSTALLMODE, "S",
CallMacro(FinishRemoteMVInstall, , ),
CallMacro(ConfigureMarkVision, , $APPDIR))
)
; FinishRemoteMVInstall: Performs remote installation duties not handled
; by InstallMarkVision().
;
FinishRemoteMVInstall()
(
; Copy the remotemv.rsp file into the MarkVision dir as cmdline.rsp
MakePathName($FinishRemoteMVInstall, ,
$RemoteMarkVisionDir, "cmdline.rsp")
MakePathName($TempString, , $SCRIPTDIR, "remotemv.rsp")
CopyFile($TempString, $FinishRemoteMVInstall)
)
; ConfigureMarkVision: Sets up INI files, etc..., so that the installed
; MarkVision is actually runnable.
; $IniFileDir points to the directory that holds the
; lexpanel.ini file.
; grw:950307 - Actually $IniFileDir points to where
; lexpanel.ini will be. At this point, whether
; setting-up to run locally or from server,
; lexpanel.ini should be in $TEMPDIR
ConfigureMarkVision($IniFileDir)
(
; Set the $LexpanelINI variable to point to the MarkVision INI file
MakePathName($LexpanelINI, , $IniFileDir, "lexpanel.ini")
SetINI($WinINI, "MarkVision", "configuration", $LexpanelINI)
; Update the lexpanel.ini file
; grw:950306 - '$IniFileDir' must be set correctly at this point,
; as MergeINI depends upon it.
; grw:950307 - Our new (or only) lexpanel.ini has just been installed
; to '$TEMPDIR' at this point.
MakePathName($ConfigureMarkVision, , $TEMPDIR, "lexpanel.ini")
MergeINI($LexpanelINI, $ConfigureMarkVision)
; correct the 'eventcount' number under '[sounds]' in lexpanel.ini .
CountINI($LexpanelINI, "sounds", "wav", $TempString)
SetINI($LexpanelINI, "sounds", "eventcount", $TempString)
; Tell other folks where MarkVision is
MakePathName($ConfigureMarkVision, , $APPDIR, $Exe_MarkVision)
SetINI($WININI, "MarkVision", "Exe", $ConfigureMarkVision)
; When this machine does not have a wave device, install the
; PC-Speaker driver
GetINI($SystemINI, "drivers", "wave", $ConfigureMarkVision)
IfEqual($ConfigureMarkVision, "", CallMacro(InstallSoundDriver, , ))
; Tell MarkVision to check the server for product updates when it starts
SetINI($LexpanelINI, $LexIniCfgSec, "ServerCheck", "1")
; Make sure that 'npatrace' in lexpanel.ini is initially turned off
SetINI($LexpanelINI, $LexIniCfgSec, "npatrace", "0")
; Since 5/11/95, we need to set the 'defaultmodelclass' for each product.
SetINI($LexpanelINI, $LexIniCfgSec, "defaultmodelclass", $LexIniDefMdlCls)
; When installing under WinOS2, turn off enumeration of local ports
IfEqual($INWINOS2, "Y",
SetINI($WinINI, "MarkVision", "EnumLocalPorts", "0"))
; Make a Program Manager group?
IfEqual($Install_ProgmanGroup, "Y", CallMacro(InstallProgmanGroup, , ))
; In order for bi-di to work, we need to restart Windows
SetRebootFlag()
)
; InstallSoundDriver: Sets up the PC-Speaker sound driver.
; No return code.
;
InstallSoundDriver()
(
InstallComponent(SpeakerDrv)
; Update system.ini
SetINI($SystemINI, "drivers", "wave", "speaker.drv")
)
; ConfigureRemoteMarkVision: Set up the local machine to run the
; remote copy of MarkVision.
;
ConfigureRemoteMarkVision()
(
; Temporarily set $APPDIR to reference the remote MV dir. Right now,
; the $SCRIPTDIR is in the MarkVision remote directory...
SetVariable($TempAppDir, $APPDIR)
SetVariable($APPDIR, $SCRIPTDIR)
; Install the VXD on their local machine
CallMacro(InstallVXD, , )
; Copy lexpanel.ini from RemoteMVDir to '$TEMPDIR'
MakePathName($ConfigureRemoteMarkVision, , $TEMPDIR, "lexpanel.ini")
MakePathName($TempString, , $APPDIR, "lexpanel.ini")
CopyFile($TempString, $ConfigureRemoteMarkVision)
; Copy the [MarkVision]NetDll line from lexpanel.ini to win.ini
; grw:950307 - if there is one
GetINI($ConfigureRemoteMarkVision, "MarkVision", "NetDLL", $TempString)
IfEqual($TempString, "", NOP(),
SetINI($WININI, "MarkVision", "NetDLL", $TempString))
; Now configure MarkVision as usual, except that the INI file is
; in the Windows directory instead of in their MV directory
CallMacro(ConfigureMarkVision, , $WINDOWSDIR)
; Restore $APPDIR
SetVariable($APPDIR, $TempAppDir)
)
; MakeDefaultAppDir: This function sets $APPDIR to its default value.
; The return value is the drive from the $TEMPDIR variable.
; grw:950321 - This macro is called when we decide that MV
; has not been installed on this machine before.
;
MakeDefaultAppDir()
(
; Find the drive that stores this temporary directory
SplitPath($TEMPDIR, $MakeDefaultAppDir, , )
; Make a MarkVision directory on this drive
MakePathName($APPDIR, $MakeDefaultAppDir, $Str_DefaultMVDir, )
)
; MVPreRun: grw:950323 - This is split out of 'Initialize()', for things
; which may need to be done multiple times in one session.
;
MVPreRun()
(
; When not in 386Enh mode, MarkVision cannot be executed, so disable the
; install (for when they use 'Custom')
; grw:950323 - This also disables installing MarkVision for 'express.'
CallLibrary(MVUtility, In386Enh, $MVPreRun, )
IfEqual($MVPreRun, $NO, SetVariable($Install_MarkVision, $NO))
)
; Initialize: Called before any other macros are run and before any
; GUI stuff is shown.
; The return value is meaningless (used as a temporary string.)
;
Initialize()
(
; Is MarkVision already installed somewhere? Check for the
; 'configuration=' entry under '[MarkVision]' in win.ini.
IfEqual($LexpanelINI, "",
GetINI($WinINI, "MarkVision", "configuration", $LexpanelINI))
IfEqual($LexpanelINI, "",
CallMacro(MakeDefaultAppDir, , ),
CallMacro(StripFilename, $APPDIR, ($LexpanelINI)))
; grw:950321 - We need to do some more work for $APPDIR if '$LexpanelINI'
; is not blank, allowing for MV running from server.
IfEqual($APPDIR, $WINDOWSDIR, CallMacro(MakeDefaultAppDir, , ))
; Initialize some global variables
MakePathName($READMEVIEWER, , $WINDOWSDIR, "notepad.exe")
; Add lexpanel.ini to the list of settings files
SettingsFile("lexpanel.ini", $Str_Desc_LexpanelINI)
CallMacro(MVPreRun, , )
)
; Entry point when the script is run independently.
;
InstallRemoteMarkVision($cmdline)
(
; Pretend we are in "Custom" mode so the user is asked questions, like
; how to name their mv icon
SetVariable($INSTALLMODE, "C")
CallMacro(ConfigureRemoteMarkVision, , )
)